Some of the most important and logistically difficult issues for IT staff are disaster recovery, patch management and software distribution. Best practices call for frequent backups of computers, and for frequent application of patches to keep machines secure and current.
Critical machines have to be available at all times. In addition, there can be hundreds of thousands of desktop machines to be managed by a single IT department, and problems with patch or software distribution to just a few percent of those machines can cost a company large sums of money in the form of support and remediation.
In the event of the failure of a critical machine, a restore from backup is often the only means of recovery. Unfortunately, the restore from a given backup sometimes fails. What is needed are methods, computer readable media and systems that ensure reliable and convenient verification that a given backup will properly restore the image of a computer, without having to put the computer at risk in order to perform such a test.
Application of a patch can sometimes cause a machine to stop functioning properly; a condition that cannot be tolerated in the case of a critical computer. On the other hand, not patching a machine can leave it vulnerable to attack, or to failure due to a bug that the patch is designed to fix. Unfortunately, this state of affairs puts 15, the IT administrator in the awkward position of having to weigh the cost of patching (with the possibility of causing the machine to fail) with the cost of not patching (with the possibility of attack and/or system failure). What is further needed are methods, computer readable media and systems that can reliably and conveniently verify that a given patch will not destabilize or otherwise disable a computer, without having to put the machine at risk in order to perform such a test.
Software distribution that involves targeting various classes of desktop machines throughout a large enterprise poses problems similar to those already described for backup restoration and patch application. A system which targets certain sets of software to different sets of machine types adds even more complexity to the problem. The administrator wants to verify that a particular software distribution job will result in the proper software being installed on the target set of computers. Furthermore, the administrator needs assurance that the software does not cause incompatibility or other problems once installed on the proper set of machines. All of this should preferably be accomplished prior to the rollout of the installation job. Therefore, what is also needed are methods, computer readable media and systems that can reliably and conveniently verify that a given software distribution job will successfully install the desired software on the desired machines, without causing failure thereof, prior to administrating the distribution.